﻿namespace EWms.WebApi.Filter
{
    /// <summary>
    /// ResultCode 枚举定义了API响应的结果码。
    /// 这些结果码可以分为几类：信息性响应、成功响应、重定向、客户端错误、服务器错误以及自定义状态码。
    /// 信息性响应和标准HTTP状态码保持一致，而自定义状态码则从1000开始编号以避免冲突。
    /// </summary>
    public enum ResultCode
    {
        /// <summary>
        /// 继续
        /// </summary>
        Continue = 100,

        /// <summary>
        /// 切换协议
        /// </summary>
        SwitchingProtocols = 101,

        /// <summary>
        /// 处理中
        /// </summary>
        Processing = 102,

        /// <summary>
        /// 早期提示
        /// </summary>
        EarlyHints = 103,

        /// <summary>
        /// 成功
        /// </summary>
        OK = 200,

        /// <summary>
        /// 已创建
        /// </summary>
        Created = 201,

        /// <summary>
        /// 已接受
        /// </summary>
        Accepted = 202,

        /// <summary>
        /// 非权威信息
        /// </summary>
        NonAuthoritativeInformation = 203,

        /// <summary>
        /// 无内容
        /// </summary>
        NoContent = 204,

        /// <summary>
        /// 重置内容
        /// </summary>
        ResetContent = 205,

        /// <summary>
        /// 部分内容
        /// </summary>
        PartialContent = 206,

        /// <summary>
        /// 多状态
        /// </summary>
        MultiStatus = 207,

        /// <summary>
        /// 已报告
        /// </summary>
        AlreadyReported = 208,

        /// <summary>
        /// IM使用
        /// </summary>
        IMUsed = 226,

        /// <summary>
        /// 多项选择
        /// </summary>
        MultipleChoices = 300,

        /// <summary>
        /// 永久移动
        /// </summary>
        MovedPermanently = 301,

        /// <summary>
        /// 找到
        /// </summary>
        Found = 302,

        /// <summary>
        /// 查看其他
        /// </summary>
        SeeOther = 303,

        /// <summary>
        /// 未修改
        /// </summary>
        NotModified = 304,

        /// <summary>
        /// 使用代理
        /// </summary>
        UseProxy = 305,

        /// <summary>
        /// 临时重定向
        /// </summary>
        TemporaryRedirect = 307,

        /// <summary>
        /// 永久重定向
        /// </summary>
        PermanentRedirect = 308,

        /// <summary>
        /// 错误请求
        /// </summary>
        BadRequest = 400,

        /// <summary>
        /// 未授权
        /// </summary>
        Unauthorized = 401,

        /// <summary>
        /// 需要支付
        /// </summary>
        PaymentRequired = 402,

        /// <summary>
        /// 禁止访问
        /// </summary>
        Forbidden = 403,

        /// <summary>
        /// 未找到
        /// </summary>
        NotFound = 404,

        /// <summary>
        /// 方法不允许
        /// </summary>
        MethodNotAllowed = 405,

        /// <summary>
        /// 不接受
        /// </summary>
        NotAcceptable = 406,

        /// <summary>
        /// 需要代理身份验证
        /// </summary>
        ProxyAuthenticationRequired = 407,

        /// <summary>
        /// 请求超时
        /// </summary>
        RequestTimeout = 408,

        /// <summary>
        /// 冲突
        /// </summary>
        Conflict = 409,

        /// <summary>
        /// 已删除
        /// </summary>
        Gone = 410,

        /// <summary>
        /// 需要长度
        /// </summary>
        LengthRequired = 411,

        /// <summary>
        /// 前提条件失败
        /// </summary>
        PreconditionFailed = 412,

        /// <summary>
        /// 请求实体过大
        /// </summary>
        RequestEntityTooLarge = 413,

        /// <summary>
        /// 请求URI过长
        /// </summary>
        RequestUriTooLong = 414,

        /// <summary>
        /// 不支持的媒体类型
        /// </summary>
        UnsupportedMediaType = 415,

        /// <summary>
        /// 请求范围无法满足
        /// </summary>
        RequestedRangeNotSatisfiable = 416,

        /// <summary>
        /// 预期失败
        /// </summary>
        ExpectationFailed = 417,

        /// <summary>
        /// 误导请求
        /// </summary>
        MisdirectedRequest = 421,

        /// <summary>
        /// 无法处理实体
        /// </summary>
        UnprocessableEntity = 422,

        /// <summary>
        /// 被锁定
        /// </summary>
        Locked = 423,

        /// <summary>
        /// 依赖失败
        /// </summary>
        FailedDependency = 424,

        /// <summary>
        /// 需要升级
        /// </summary>
        UpgradeRequired = 426,

        /// <summary>
        /// 需要前提条件
        /// </summary>
        PreconditionRequired = 428,

        /// <summary>
        /// 请求过多
        /// </summary>
        TooManyRequests = 429,

        /// <summary>
        /// 请求头字段过大
        /// </summary>
        RequestHeaderFieldsTooLarge = 431,

        /// <summary>
        /// 法律原因不可用
        /// </summary>
        UnavailableForLegalReasons = 451,

        /// <summary>
        /// 内部服务器错误
        /// </summary>
        InternalServerError = 500,

        /// <summary>
        /// 未实现
        /// </summary>
        NotImplemented = 501,

        /// <summary>
        /// 错误的网关
        /// </summary>
        BadGateway = 502,

        /// <summary>
        /// 服务不可用
        /// </summary>
        ServiceUnavailable = 503,

        /// <summary>
        /// 网关超时
        /// </summary>
        GatewayTimeout = 504,

        /// <summary>
        /// HTTP版本不受支持
        /// </summary>
        HttpVersionNotSupported = 505,

        /// <summary>
        /// 协商变种
        /// </summary>
        VariantAlsoNegotiates = 506,

        /// <summary>
        /// 存储空间不足
        /// </summary>
        InsufficientStorage = 507,

        /// <summary>
        /// 检测到循环引用
        /// </summary>
        LoopDetected = 508,

        /// <summary>
        /// 不扩展
        /// </summary>
        NotExtended = 510,

        /// <summary>
        /// 需要网络身份验证
        /// </summary>
        NetworkAuthenticationRequired = 511,

        /// <summary>
        /// 检查异常
        /// </summary>
        CheckException = 1001,

        /// <summary>
        /// 失败
        /// </summary>
        Fail = 1002,

        /// <summary>
        /// 无数据
        /// </summary>
        NoData = 1003,

        /// <summary>
        /// 未登录
        /// </summary>
        NoLogin = 1401,

        /// <summary>
        /// 认证失败
        /// </summary>
        AuthFail = 1402,

        /// <summary>
        /// 无权限
        /// </summary>
        NoRight = 1501
    }
}
